<!--混凝土拌和站---动态监控--实时监控-->
<!--
 * @Author: 卡卡 1071780426@qq.com
 * @Date: 2022-12-02 13:13:25
 * @LastEditors: 贺楠 1071780426@qq.com
 * @LastEditTime: 2024-05-22 15:00:29
 * @FilePath: \backstage - 副本\src\views\aa.vue
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
  <div class="department" id="department">
    <!-- 左侧部门管理 -->
    <div class="structureTree" v-if="treelength">
      <div class="structureTree_title">
        <div>组织机构</div>
      </div>
      <tree
        :treeData="treeData"
        :checkData="checkData"
        name="waterManage_treeCheck"
        nodeKey="fCompanyid"
        @getTreeInfo="handleNodeClick"
        :defaultProps="defaultProps"
      >
      </tree>
    </div>
    <!-- 右侧 -->
    <div class="department_right">
      <!-- 机构名称 -->
      <el-breadcrumb :title="showName"></el-breadcrumb>
      <!-- 顶部导航栏 -->
      <div class="mechanism_nav">
        <!-- 左侧 -->
        <div class="mechanism_nav_left" style="width: 100%">
          <vDatePicker
            :defaultDate="value2"
            @selectPickDate="selectTime"
            width="215px !important"
          >
          </vDatePicker>
          <el-select
            class="selectBhz"
            style="width: 160px"
            v-model="getList.buildPart"
            placeholder="工程部位"
            @change="yj_searchForm(getList)"
          >
            <el-option
              v-for="v in sgbwList"
              :key="v.fItemName"
              :label="v.fItemName"
              :value="v.fItemValue"
            >
            </el-option>
          </el-select>
          <el-select
            class="selectBhz"
            style="width: 160px"
            v-model="getList.stationId"
            placeholder="所有拌和站"
            @change="selectBhz"
          >
            <el-option
              v-for="v in bhzDataList"
              :key="v.fItemName"
              :label="v.fItemName"
              :value="v.fItemValue"
            >
            </el-option>
          </el-select>
          <el-select
            class="selectBhz"
            v-model="getList.machineId"
            placeholder="所有拌和机"
            @change="yj_searchForm(getList)"
          >
            <el-option
              v-for="v in bhjDataList"
              :key="v.fItemName"
              :label="v.fItemName"
              :value="v.fItemValue"
            >
            </el-option>
          </el-select>

          <el-select
            class="selectCondition"
            v-model="getList.warningLevel"
            placeholder="预警级别"
            @change="yj_searchForm(getList)"
          >
            <el-option
              v-for="v in yjDataList"
              :key="v.fItemName"
              :label="v.fItemName"
              :value="v.fItemValue"
            >
            </el-option>
          </el-select>
          <el-select
            class="selectCondition"
            v-model="getList.fCloseoperation"
            placeholder="闭合状态"
            @change="yj_searchForm(getList)"
          >
            <el-option
              v-for="v in CloseoperationDataList"
              :key="v.fItemName"
              :label="v.fItemName"
              :value="v.fItemValue"
            >
            </el-option>
          </el-select>
        </div>
        <!-- 顶部按钮 -->
        <div class="print"></div>
      </div>
      <!-- 表格 -->
      <div class="text_table">
        <tableData
          :height="navigatepageNums > 1 ? 'calc(100% - 50px)' : '100%'"
          :config="table_config"
          :dataList="tableData"
          :loading="listLoading"
          @selection-change="selectionChange"
          @sort-change="sortChange"
          @click-change="rowChange"
          @openDialog="yj_viewForm"
          :page="getList.page"
          :pageSize="getList.pageSize"
        />
        <pagination
          :info="queryCriteriaData"
          v-if="navigatepageNums > 1"
          :treelength="treelength"
          :total="queryCriteriaData.total"
          :pageNum.sync="getList.page"
          :limit.sync="getList.pageSize"
          @pagination="yj_searchForm(getList)"
        />
      </div>
      <!--弹框 查看 -->
      <div class="Control-1 mechanism_dialogS closure">
        <el-dialog
          :title="dialogTitle"
          :modal-append-to-body="false"
          v-dialogDrag
          :visible.sync="dialogEditVisible"
          v-loading="loadingEditDialog"
          element-loading-text="拼命加载中"
          element-loading-spinner="el-icon-loading"
          element-loading-background="rgba(0, 0, 0, 0.2)"
        >
          <div
            class="dialogBody common"
            :style="{ height: '650px' }"
            style="overflow: hidden"
          >
            <div style="overflow-y: auto; margin-bottom: 20px">
              <div class="baseTitle">基本信息</div>
              <div style="height: 160px">
                <publicForm
                  ref="publicForm"
                  lableWidth="95px"
                  :formObj="formObj"
                  :formData="formData"
                >
                </publicForm>
              </div>
              <div class="baseTitle">材料用量</div>
              <div
                style="height: 168px; margin-top: 8px"
                class="levelClass materialClass"
              >
                <tableData
                  :config="material_config"
                  :dataList="materialData"
                  statusType="3"
                  :level="level"
                  :earlyWarning="earlyWarning"
                  :currentRow="false"
                  :stripe="false"
                />
              </div>
              <div class="baseTitle" style="margin-top: 8px" v-if="handNum">
                <!-- <div class="baseTitle" style="margin-top: 8px"> -->
                处理情况
              </div>
              <el-collapse v-model="activeNames" @change="changeCollapse">
                <el-collapse-item name="0" v-if="handNum">
                  <!-- <el-collapse-item name="0"> -->
                  <template slot="title">
                    <div>
                      <img
                        style="vertical-align: middle"
                        src="@/assets/img/Supervision/com_flg.png"
                        alt=""
                      />
                      <span style="margin-left: 8px">闭合申请单</span>
                    </div>
                  </template>
                  <div style="height: 160px; margin-top: 3px">
                    <publicForm
                      ref="publicForm0"
                      lableWidth="95px"
                      :formObj="handleObj"
                      :formData="handleData"
                      :timestamp="handleData.fHandlefile"
                      :fileList="fSourcefileList"
                      @delteFile="delteFile"
                    >
                    </publicForm>
                  </div>
                </el-collapse-item>

                <el-collapse-item name="1" v-if="firstNum">
                  <!-- <el-collapse-item name="1"> -->
                  <template slot="title">
                    <div>
                      <img
                        style="vertical-align: middle"
                        src="@/assets/img/Supervision/com_flg.png"
                        alt=""
                      />
                      <span style="margin-left: 8px">一级审核</span>
                    </div>
                  </template>
                  <div style="height: 70px; margin-top: 3px">
                    <publicForm
                      ref="publicForm1"
                      lableWidth="95px"
                      :formObj="processObj"
                      :formData="handleData"
                    >
                    </publicForm>
                  </div>
                </el-collapse-item>
                <el-collapse-item name="2" v-if="secondNum">
                  <!-- <el-collapse-item name="2"> -->
                  <template slot="title">
                    <div>
                      <img
                        style="vertical-align: middle"
                        src="@/assets/img/Supervision/com_flg.png"
                        alt=""
                      />
                      <span style="margin-left: 8px">二级审核</span>
                    </div>
                  </template>
                  <div style="height: 70px; margin-top: 3px">
                    <publicForm
                      ref="publicForm2"
                      lableWidth="95px"
                      :formObj="examineObjs"
                      :formData="handleData"
                    >
                    </publicForm>
                  </div>
                </el-collapse-item>
              </el-collapse>
              <div style="height: 50px"></div>
            </div>
          </div>
          <div class="newlyAdded_btn" v-if="btnShow">
            <el-button type="primary" @click="yj_saveForm('formData')"
              >保存</el-button
            >
            <el-button type="warning" @click="dialogEditVisible = false"
              >关闭</el-button
            >
          </div>
        </el-dialog>
      </div>
    </div>
  </div>
</template>
  
<script>
import vDatePicker from "@/components/public/v-DatePicker";
import tree from "@/components/public/waterManage_tree"; //左侧机构树
import TableData from "@/components/stationProductionPage/waterManage/public/el-tables"; //主页面列表
import Pagination from "@/components/public/el-pagination"; //主页面分页
import elBreadcrumb from "@/components/public/el-breadcrumb.vue"; //面包屑
import publicForm from "@/components/public/el-form.vue"; //弹框form

import formJs from "./regexDetail.js"; //新增弹框配置项
import {
  getUserCompanyTreeList, //左侧机构树接口
  getWaterClosedLists, //主页面列表接口
  getWaterClosedFormByParentId, //主页面列表详情接口
  getStationmachineByfMachineid, //骨料
  getStationmachineList, //拌合站列表
  addWaterClosedForm, //闭合保存
  getMachineListByStationId, //拌合机
} from "@/api/request.js";
import { statusTypes } from "@/utils/config"; //配置项
export default {
  name: "errorMonitoring",
  data() {
    return {
      name: "errorMonitoring", //按钮配置页面代号
      sgcDataList: formJs.sgcDataList, //施工层位
      yjDataList: formJs.yjDataList, //预警级别
      formData: {}, //新增编辑向后台传递对象
      navigatepageNums: null, //是否显示分页
      queryCriteriaData: {}, //分页
      sgbwList: formJs.sgbwList, //顶部下拉框---施工部位
      djDataList: formJs.djDataList,
      CloseoperationDataList: formJs.CloseoperationDataList,
      bhzDataList: [], //拌合站
      bhjDataList: [], //拌合机
      value2: "", //主页面日期筛选绑定值
      // 列表配置项
      table_config: formJs.cbtable_config,
      tableData: [], //表格列表数据列表
      highlightBd: true, //左侧机构树停留背景色
      treelength: false, //左侧树显示隐藏
      showName: "未选择公司",
      fId: null, //点击当前列表数据fId
      listLoading: false, //列表数据加载loading
      loadingEditDialog: false, //弹框loading
      dialogEditVisible: false, //新增弹框是否显示
      // 列表给后端传参
      getList: {
        fCompanyid: "", // 施工标段id
        startDates: "", // 开始时间
        endDates: "", // 截至时间
        stationId: "", //拌合站
        machineId: "", //拌合机
        buildPart: "", // 施工部位
        warningLevel: "", // 预警等级
        fCloseoperation: "", //闭合状态
        // modelType: "", // 待办0 已办1  app
        fCheckStatus: "", // 0 施工单位  1 监理  2业主 app
        page: 1, // 当前页码
        pageSize: 20, // 每页显示条数
      },
      companyTree: "", //所有数据
      treeData: [], //左侧树状图数据
      // 左侧机构树
      defaultProps: {
        children: "children",
        label: "fShortname",
      },
      checkData: [], //树状图默认选中id
      userInfo: {}, //登录用户
      treeText: {
        //树状图参数
        companyId: null,
        userId: null,
        text: null,
      },

      // 弹框
      handleObj: formJs.handleObjs, //新增编辑配置参数
      materialData: [], //材料用量列表
      level: [], //强度等级
      earlyWarning: [], //预警标准
      handleObjs1: formJs.handleObjs1,
      processObj: formJs.processObjs, //一级审核
      processObj1: formJs.processObjs1, //一级审核
      examineObjs: formJs.examineObjs, //二级审核
      examineObjs1: formJs.examineObjs1, //二级审核
      formObj: formJs.formObj, //新增编辑配置参数
      btnShow: true, //保存按钮是否显示
      handNum: false, //闭合申请单
      firstNum: false, //一级审核
      secondNum: false, //二级审核
      fSourcefileList: [],
      dialogTitle: "",
      activeNames: ["0"],
      handleData: {
        fId: "", // 申请单fid //为空判断为新增
        fCompanyid: "", // 施工标段id
        aduitStatus: "", // 保存状态
        fParentid: "", // 对应的超标记录fid
        fWarningcontent: "", // 预警内容
        fReason: "", // 问题原因
        fHandleway: "", // 处理方式
        fHandleresult: "", // 处理结果
        fHandledate: 1672977125260,
        fHandledates: "", // 处理日期
        fHandleusername: "", // 处理人名称
        fHandlefile: "", // 附件
        fFirstcheckresult: "", // 一级审核处理结果
        fFirstcheckopinion: "", // 一级审核处理意见
        fFirstcheckusername: "", // 一级审核处理人name
        fFirstcheckdates: "", // 一级审核处理日期
        fSecondcheckresult: "", // 二级审核处理结果
        fSecondcheckopinion: "", // 二级审核处理意见
        fSecondcheckusername: "", // 二级审核处理人name
        fSecondcheckdates: "", // 二级审核处理日期
        userId: "", // 当前登录人id
        userName: "", // 当前登录人姓名
        recordfiles: [], // 删除文件id集合
      },
      material_config: formJs.material_config,
      // 弹框
    };
  },
  components: {
    vDatePicker, //时间选择器
    tree, //左侧组织机构数
    TableData, //主页面列表
    elBreadcrumb, //面包屑
    Pagination, //分页
    publicForm,
  },
  mounted() {
    this.table_config.thead[4]["callback"] = function (rowData) {
      let data = statusTypes[rowData.fWarninglevel];
      if (data) {
        return data.label;
      }
    };
    this.table_config.thead[4]["specialClass"] = function (rowData) {
      let data = statusTypes[rowData.fWarninglevel];
      if (data) {
        return data.className;
      }
    };
    this.table_config.operation.cols = [
      {
        lable: "",
        prop: "fCloseoperation",
        type: "primary",
        handleRow: this.handleRow,
      },
    ];

    this.table_config.operation["specialClass"] = function (rowData) {
      var color = null;
      if (rowData == "未闭合") {
        color = "red !important";
      } else if (rowData == "已闭合") {
        color = "green !important";
      } else if (rowData == "无需闭合") {
        color = "#000 !important";
      } else {
        color = "#409eff !important";
      }
      return color;
    };

    this.userInfo = JSON.parse(sessionStorage.getItem("yjSmart-userInfo"));

    console.log("userInfo", this.userInfo);

    if (JSON.parse(sessionStorage.getItem("yjSmart-waterManage_getLists"))) {
      // this.getList = JSON.parse(sessionStorage.getItem("yjSmart-waterManage_getLists"));
      var dataList = JSON.parse(sessionStorage.getItem("yjSmart-waterManage_getLists"));
      this.getList = {
        fCompanyid: dataList.fCompanyid, // 施工标段id，不为空
        startDates: dataList.startDates, // 开始时间
        endDates: dataList.endDates, // 截至时间
        stationId: dataList.stationId, // 拌合站id
        machineId: dataList.machineId, // 拌合机id
        buildPart: dataList.buildPart, // 施工部位
        page: 1, // 当前页数
        pageSize: 20, // 每页显示条数
        warningLevel: dataList.warningLevel, // 预警等级
        fCloseoperation: dataList.fCloseoperation, //闭合状态
        // modelType: "", // 待办0 已办1  app
        fCheckStatus: dataList.fCheckStatus, // 0 施工单位  1 监理  2业主 app
      };
      this.getbhjDataMethods(this.getList.stationId);
    }
    if (JSON.parse(sessionStorage.getItem("yjSmart-waterManage_treeCheck"))) {
      var id = JSON.parse(sessionStorage.getItem("yjSmart-waterManage_treeCheck"));
      this.checkData = [id.fCompanyid];
    }
    this.getTree();
    this.btnRole(this.name);
    this.getDate();
  },
  methods: {
    btnRole(name) {
      // 按钮权限
      var btnList = [];
      var ModuleList = JSON.parse(sessionStorage.getItem("yjSmart-ModuleList"));
      if (ModuleList.length > 0) {
        ModuleList.map((item) => {
          if (item.fEncode == name) {
            btnList = item.modulebuttonList;
          }
        });
        var btnStr = [];
        btnList.map((item) => {
          btnStr.push(item.fEncode);
        });
      } else {
        // this.yj_view = true;
      }
    },

    getGlName(data) {
      getStationmachineByfMachineid({ machineId: data })
        .then((res1) => {
          if (res1.errcode == 0) {
            this.material_config.thead[3].label =
              res1.data.yjQmpMsStationmachine.fParm1;
            this.material_config.thead[4].label =
              res1.data.yjQmpMsStationmachine.fParm2;
            this.material_config.thead[5].label =
              res1.data.yjQmpMsStationmachine.fParm3;
            this.material_config.thead[6].label =
              res1.data.yjQmpMsStationmachine.fParm4;
            this.material_config.thead[7].label =
              res1.data.yjQmpMsStationmachine.fParm5;
            this.material_config.thead[8].label =
              res1.data.yjQmpMsStationmachine.fParm6;
          } else {
            this.$message.error("获取骨料名", res1.msg);
          }
        })
        .catch((error) => {
          console.log("获取骨料名接口报错", error.msg);
        });
    },
    // 点击当前行
    rowChange() {
      // val
      // console.log(val);
    },
    // 左侧树结构
    getTree() {
      this.treeText = {
        companyId: this.userInfo.companyId,
        userId: this.userInfo.userId,
        text: "2", // 0其他  1 砼拌合站 2水稳 3沥青
      };
      getUserCompanyTreeList(this.treeText)
        .then((res) => {
          if (res.errcode == 0) {
            var companyTree = res.data.userCompanyTreeList;
            this.treeData = this.commonJs.tranListToTreeData(companyTree);

            if (this.treeData[0].children == undefined) {
              this.treelength = false; //左侧组织机构是否显示
              this.mixingPlantList(0, {
                fCompanyid: this.treeData[0].fCompanyid,
              });
            } else {
              this.treelength = true;
            }

            if (this.checkData[0]) {
              this.showName = JSON.parse(
                sessionStorage.getItem("yjSmart-waterManage_treeCheck")
              ).fShortname;
              this.getList.fCompanyid = this.checkData[0];
            } else {
              this.checkData[0] = this.treeData[0].fCompanyid;
              this.showName = this.treeData[0].fShortname; //当前点击组织机构名称
              this.getList.fCompanyid = this.treeData[0].fCompanyid; //当前点击组织机构ID
            }
            this.mixingPlantList(3, this.getList);
            this.mixingPlantList(0, this.getList);
            this.yj_searchForm(this.getList); // 调用主页面列表接口
            // 列表
          } else {
            this.$message.error(res.msg);
            return false;
          }
        })
        .catch(() => {
          return false;
        });
    },
    handleNodeClick(data) {
      this.showName = data.fShortname; //顶部显示机构名

      this.getList.fCompanyid = data.fCompanyid;
      this.getList.stationId = "";
      this.getList.machineId = "";
      this.getList.page = 1;
      this.getList.pageSize = 20;
      this.mixingPlantList(0, this.getList);
      this.yj_searchForm(this.getList);
    },
    // 获取列表数据
    yj_searchForm(data) {
      this.listLoading = true;
      window.sessionStorage.setItem(
        "yjSmart-waterManage_getLists",
        JSON.stringify(data)
      );
      // if (this.userInfo.companyNature == "施工单位") {
      //   data.fCheckStatus = "0";
      // } else if (this.userInfo.companyNature == "总监办") {
      //   data.fCheckStatus = "1";
      // } else if (this.userInfo.companyNature == "建设单位") {
      //   data.fCheckStatus = "2";
      // } else {
      //   data.fCheckStatus = "3";
      // }
      getWaterClosedLists(data)
        .then((res) => {
          if (res.errcode == 0) {
            var that = this;
            that.listLoading = false;
            that.tableData = res.data.pageInfo.list;
            this.queryCriteriaData = res.data.pageInfo; //分页信息
            this.navigatepageNums =
              this.queryCriteriaData.navigatepageNums.length;
            // this.downloadExcel()
          } else {
            this.$message.error(res.msg);
            return false;
          }
        })
        .catch((error) => {
          console.log(error);
        });
    },

    // 查看
    yj_viewForm(row) {
      console.log("row", row);
      this.btnShow = true; //显示保存按钮，当查看时隐藏
      this.handleObj = formJs.handleObjs; //新增编辑配置参数
      this.processObj = formJs.processObjs; //二级审核
      this.examineObjs = formJs.examineObjs; //三级审核
      this.checkStatus = row.fCheckstatus; //闭合状态
      this.handleData.aduitStatus = row.fCheckstatus; //闭合状态
      var time = new Date();
      const y = time.getFullYear();
      const m = (time.getMonth() + 1 + "").padStart(2, "0");
      const d = (time.getDate() + "").padStart(2, "0");
      this.dialogTitle = "编辑";
      console.log(
        this.userInfo.companyNature,
        row.fCheckstatus,
        row.fCloseoperation
      );
      if (
        this.userInfo.companyNature == "施工单位" &&
        row.fCheckstatus == 0 &&
        row.fCloseoperation == "未闭合"
      ) {
        this.handNum = true; //申请单显示
        this.firstNum = false; //一级审核显示
        this.secondNum = false; //二级审核显示
        this.activeNames = ["0"]; //默认展开折叠面板
        this.handleObj = this.handleObjs1;
        this.handleData = {
          fId: "", // 申请单fid //为空判断为新增
          fCompanyid: this.getList.fCompanyid, // 施工标段id
          aduitStatus: row.fCheckstatus, // 保存状态
          fParentid: "", // 对应的超标记录fid
          fWarningcontent: "", // 预警内容
          fReason: "", // 问题原因
          fHandleway: "", // 处理方式
          fHandleresult: "", // 处理结果
          fHandledate: "",
          fHandledates: "", // 处理日期
          fHandleusername: "", // 处理人名称
          fHandlefile: "", // 附件
          fFirstcheckresult: "", // 一级审核处理结果
          fFirstcheckopinion: "", // 一级审核处理意见
          fFirstcheckusername: "", // 一级审核处理人name
          fFirstcheckdates: "", // 一级审核处理日期
          fSecondcheckresult: "", // 二级审核处理结果
          fSecondcheckopinion: "", // 二级审核处理意见
          fSecondcheckusername: "", // 二级审核处理人name
          fSecondcheckdates: "", // 二级审核处理日期
          userId: this.userInfo.userId, // 当前登录人id
          userName: this.userInfo.realName, // 当前登录人姓名
          recordfiles: [], // 删除文件id集合
        };
        this.fSourcefileList = [];
        this.handleData.fHandledates = `${y}-${m}-${d}`; // 处理日期
      } else if (
        this.userInfo.companyNature == "总监办" &&
        row.fCheckstatus == 1 &&
        row.fCloseoperation == "未闭合"
      ) {
        console.log("总监办222");
        this.handNum = true; //申请单显示
        this.firstNum = true; //一级审核显示
        this.secondNum = false; //二级审核显示
        this.activeNames = ["1"]; //默认展开折叠面板
        this.handleObj.map((item) => {
          //闭合单
          item.disabled = true; //闭合单禁用
          item.uploadSelect = false; //上传附件按钮是否显示
          item.rules = []; //必填项不必填
        });
        this.processObj = this.processObj1;
        this.handleData = {
          fId: "", // 申请单fid //为空判断为新增
          fCompanyid: this.getList.fCompanyid, // 施工标段id
          aduitStatus: row.fCheckstatus, // 保存状态
          fParentid: "", // 对应的超标记录fid
          fWarningcontent: "", // 预警内容
          fReason: "", // 问题原因
          fHandleway: "", // 处理方式
          fHandleresult: "", // 处理结果
          fHandledate: "",
          fHandledates: "", // 处理日期
          fHandleusername: "", // 处理人名称
          fHandlefile: "", // 附件
          fFirstcheckresult: "", // 一级审核处理结果
          fFirstcheckopinion: "", // 一级审核处理意见
          fFirstcheckusername: "", // 一级审核处理人name
          fFirstcheckdates: "", // 一级审核处理日期
          fSecondcheckresult: "", // 二级审核处理结果
          fSecondcheckopinion: "", // 二级审核处理意见
          fSecondcheckusername: "", // 二级审核处理人name
          fSecondcheckdates: "", // 二级审核处理日期
          userId: this.userInfo.userId, // 当前登录人id
          userName: this.userInfo.realName, // 当前登录人姓名
          recordfiles: [], // 删除文件id集合
        };

        this.handleData.fFirstcheckdates = `${y}-${m}-${d}`; //一级审核处理日期
      } else if (
        this.userInfo.companyNature == "建设单位" &&
        row.fCheckstatus == 2 &&
        row.fCloseoperation == "未闭合"
      ) {
        this.handNum = true;
        this.firstNum = true;
        this.secondNum = true;
        this.activeNames = ["2"]; //默认展开折叠面板
        this.handleObj.map((item) => {
          //闭合单
          item.disabled = true; //闭合单禁用
          item.uploadSelect = false; //上传附件按钮是否显示
          item.rules = []; //必填项不必填
        });
        this.processObj.map((item) => {
          //一级审核
          item.disabled = true; //一级审核表单禁用
          item.rules = []; //必填项不必填
        });
        this.examineObjs = this.examineObjs1;
        this.handleData = {
          fId: "", // 申请单fid //为空判断为新增
          fCompanyid: this.getList.fCompanyid, // 施工标段id
          aduitStatus: row.fCheckstatus, // 保存状态
          fParentid: "", // 对应的超标记录fid
          fWarningcontent: "", // 预警内容
          fReason: "", // 问题原因
          fHandleway: "", // 处理方式
          fHandleresult: "", // 处理结果
          fHandledate: "",
          fHandledates: "", // 处理日期
          fHandleusername: "", // 处理人名称
          fHandlefile: "", // 附件
          fFirstcheckresult: "", // 一级审核处理结果
          fFirstcheckopinion: "", // 一级审核处理意见
          fFirstcheckusername: "", // 一级审核处理人name
          fFirstcheckdates: "", // 一级审核处理日期
          fSecondcheckresult: "", // 二级审核处理结果
          fSecondcheckopinion: "", // 二级审核处理意见
          fSecondcheckusername: "", // 二级审核处理人name
          fSecondcheckdates: "", // 二级审核处理日期
          userId: this.userInfo.userId, // 当前登录人id
          userName: this.userInfo.realName, // 当前登录人姓名
          recordfiles: [], // 删除文件id集合
        };
        this.handleData.fSecondcheckdates = `${y}-${m}-${d}`; //二级审核处理日期
      } else {
        console.log(2222);
        //查看页面
        this.dialogTitle = "查看";
        this.btnShow = false;
        if (row.fCheckstatus == 0) {
          console.log(333);
          this.handNum = false; //闭合申请单显示
          this.firstNum = false; //一级审核显示
          this.secondNum = false; //二级审核显示
        } else if (row.fCheckstatus == 1) {
          this.handNum = true; //闭合申请单显示
          this.firstNum = false; //一级审核显示
          this.secondNum = false; //二级审核显示

          this.activeNames = ["0"]; //默认展开折叠面板
          this.handleObj.map((item) => {
            //闭合单
            item.disabled = true; //闭合单禁用
            item.uploadSelect = false; //上传附件按钮是否显示
            item.rules = []; //必填项不必填
          });
        } else if (row.fCheckstatus == 2) {
          this.handNum = true; //闭合申请单显示
          this.firstNum = true; //一级审核显示
          this.secondNum = false; //二级审核显示
          this.activeNames = ["0", "1"]; //默认展开折叠面板
          this.handleObj.map((item) => {
            //闭合单
            item.disabled = true; //闭合单禁用
            item.uploadSelect = false; //上传附件按钮是否显示
            item.rules = []; //必填项不必填
          });
          this.processObj.map((item) => {
            //一级审核
            item.disabled = true; //一级审核表单禁用
            item.rules = []; //必填项不必填
          });
        } else if (row.fCheckstatus == 3) {
          this.handNum = true; //闭合申请单显示
          this.firstNum = true; //一级审核显示
          this.secondNum = true; //二级审核显示
          this.activeNames = ["0", "1", "2"]; //默认展开折叠面板
          this.handleObj.map((item) => {
            //闭合单
            item.disabled = true; //闭合单禁用
            item.uploadSelect = false; //上传附件按钮是否显示
            item.rules = []; //必填项不必填
          });
          this.processObj.map((item) => {
            //一级审核
            item.disabled = true; //一级审核表单禁用
            item.rules = []; //必填项不必填
          });
          this.examineObjs.map((item) => {
            item.disabled = true; //二级审核表单禁用
            item.rules = []; //必填项不必填
          });
        }
      }

      this.fPhotofilelist = [];
      if (row.fId != "" && row.fId != null) {
        this.fId = row.fId;
        this.dialogEditVisible = true;
        this.loadingEditDialog = true;
        getWaterClosedFormByParentId({
          fId: this.fId,
          fCompanyid: this.getList.fCompanyid,
        }).then((res) => {
          if (res.errcode == 0) {
            var that = this;
            that.loadingEditDialog = false;
            that.dialogEditVisible = true;
            that.formData = res.data.dischargeinfo; //基本信息及材料用量
            that.getGlName(res.data.dischargeinfo.fMachineid);
            var totalData = res.data.closeinfo; //闭合申请单、一级、二级审核

            this.handleData.fParentid = this.fId; //对应的超标记录fid

            if (this.checkStatus == 0) {
              this.handleData.fId = totalData.fId; //申请单fid //为空判断为新增
              this.handleData.fWarningcontent = totalData.fWarningcontent; // 预警内容
              this.handleData.fHandlefile = totalData.fHandlefile; //处理附件id
              this.handleData.fCompanyid = totalData.fCompanyid; // 施工标段id
            } else if (this.checkStatus == 1) {
              this.handleData.fId = totalData.fId; //申请单fid //为空判断为新增
              this.handleData.fCompanyid = totalData.fCompanyid; // 施工标段id
              this.handleData.fWarningcontent = totalData.fWarningcontent; // 预警内容
              this.handleData.fHandlefile = totalData.fHandlefile; //处理附件id

              this.handleData.fReason = totalData.fReason; // 问题原因
              this.handleData.fHandleresult = totalData.fHandleresult; // 处理结果
              this.handleData.fHandledates = totalData.fHandledates; //处理日期
              this.handleData.fHandleusername = totalData.fHandleusername; // 处理人名称
              this.fSourcefileList = res.data.fSourcefileList; // 附件
              this.handleData.fHandleway = totalData.fHandleway; // 处理方式
            } else if (this.checkStatus == 2) {
              this.handleData.fId = totalData.fId; //申请单fid //为空判断为新增
              this.handleData.fCompanyid = totalData.fCompanyid; // 施工标段id
              this.handleData.fWarningcontent = totalData.fWarningcontent; // 预警内容
              this.handleData.fHandlefile = totalData.fHandlefile; //处理附件id

              this.handleData.fReason = totalData.fReason; // 问题原因
              this.handleData.fHandleresult = totalData.fHandleresult; // 处理结果
              this.handleData.fHandledates = totalData.fHandledates; //处理日期
              this.handleData.fHandleusername = totalData.fHandleusername; // 处理人名称
              this.fSourcefileList = res.data.fSourcefileList; // 附件
              this.handleData.fHandleway = totalData.fHandleway; // 处理方式

              this.handleData.fFirstcheckresult = totalData.fFirstcheckresult; // 一级审核处理结果
              this.handleData.fFirstcheckopinion = totalData.fFirstcheckopinion; // 一级审核处理意见
              this.handleData.fFirstcheckusername =
                totalData.fFirstcheckusername; //一级审核处理人name
              this.handleData.fFirstcheckdates = totalData.fFirstcheckdates; //一级审核处理日期
            } else if (this.checkStatus == 3) {
              this.handleData.fId = totalData.fId; //申请单fid //为空判断为新增
              this.handleData.fCompanyid = totalData.fCompanyid; // 施工标段id
              this.handleData.fWarningcontent = totalData.fWarningcontent; // 预警内容
              this.handleData.fReason = totalData.fReason; // 问题原因

              this.handleData.fHandleresult = totalData.fHandleresult; // 处理结果
              this.handleData.fHandledates = totalData.fHandledates; //处理日期
              this.handleData.fHandleusername = totalData.fHandleusername; // 处理人名称
              this.fSourcefileList = res.data.fSourcefileList; // 附件
              this.handleData.fHandlefile = totalData.fHandlefile; //处理附件id
              this.handleData.fHandleway = totalData.fHandleway; // 处理方式

              this.handleData.fFirstcheckresult = totalData.fFirstcheckresult; // 一级审核处理结果
              this.handleData.fFirstcheckopinion = totalData.fFirstcheckopinion; // 一级审核处理意见
              this.handleData.fFirstcheckusername =
                totalData.fFirstcheckusername; //一级审核处理人name
              this.handleData.fFirstcheckdates = totalData.fFirstcheckdates; //一级审核处理日期

              this.handleData.fSecondcheckresult = totalData.fSecondcheckresult; // 二级审核处理结果
              this.handleData.fSecondcheckopinion =
                totalData.fSecondcheckopinion; // 二级审核处理意见
              this.handleData.fSecondcheckusername =
                totalData.fSecondcheckusername; //二级审核处理人name
              this.handleData.fSecondcheckdates = totalData.fSecondcheckdates; //二级审核处理日期
            }

            this.materialData = [
              {
                name: "实际称量值(t)",
                cement1: res.data.dischargeinfo.fCement1actualweighingvalue,
                cement2: res.data.dischargeinfo.fCement2actualweighingvalue,
                aggregate1:
                  res.data.dischargeinfo.fAggregate1actualweighingvalue,
                aggregate2:
                  res.data.dischargeinfo.fAggregate2actualweighingvalue,
                aggregate3:
                  res.data.dischargeinfo.fAggregate3actualweighingvalue,
                aggregate4:
                  res.data.dischargeinfo.fAggregate4actualweighingvalue,
                aggregate5:
                  res.data.dischargeinfo.fAggregate5actualweighingvalue,
                aggregate6:
                  res.data.dischargeinfo.fAggregate6actualweighingvalue,
                water: res.data.dischargeinfo.fWateractualweighingvalue,
              },

              {
                name: "设定比例(%)",
                cement1: res.data.dischargeinfo.fCement1designratio,
                cement2: res.data.dischargeinfo.fCement2designratio,
                aggregate1: res.data.dischargeinfo.fAggregate1designratio,
                aggregate2: res.data.dischargeinfo.fAggregate2designratio,
                aggregate3: res.data.dischargeinfo.fAggregate3designratio,
                aggregate4: res.data.dischargeinfo.fAggregate4designratio,
                aggregate5: res.data.dischargeinfo.fAggregate5designratio,
                aggregate6: res.data.dischargeinfo.fAggregate6designratio,
                water: res.data.dischargeinfo.fWaterdesignratio,
              },
              {
                name: "实际比例(%)",
                cement1: res.data.dischargeinfo.fCement1actualratio, //水泥1
                cement2: res.data.dischargeinfo.fCement2actualratio, //水泥2
                aggregate1: res.data.dischargeinfo.fAggregate1actualratio, //骨料1
                aggregate2: res.data.dischargeinfo.fAggregate2actualratio, //骨料2
                aggregate3: res.data.dischargeinfo.fAggregate3actualratio, //骨料3
                aggregate4: res.data.dischargeinfo.fAggregate4actualratio, //骨料4
                aggregate5: res.data.dischargeinfo.fAggregate5actualratio, //骨料5
                aggregate6: res.data.dischargeinfo.fAggregate6actualratio, //骨料6
                water: res.data.dischargeinfo.fWateractualratio, //水
              },
              {
                name: "偏差(%)",
                cement1: res.data.dischargeinfo.fCement1deviatevalue, //水泥1
                cement2: res.data.dischargeinfo.fCement2deviatevalue, //水泥2
                aggregate1: res.data.dischargeinfo.fAggregate1deviatevalue, //骨料1
                aggregate2: res.data.dischargeinfo.fAggregate2deviatevalue, //骨料2
                aggregate3: res.data.dischargeinfo.fAggregate3deviatevalue, //骨料3
                aggregate4: res.data.dischargeinfo.fAggregate4deviatevalue, //骨料4
                aggregate5: res.data.dischargeinfo.fAggregate5deviatevalue, //骨料5
                aggregate6: res.data.dischargeinfo.fAggregate6deviatevalue, //骨料6
                water: res.data.dischargeinfo.fWaterdeviatevalue, //水
              },
              {
                name: "预警范围值",
                show: true,
                cement1: res.data.dischargeinfo.fCement1warninginfo, //水泥1
                cement2: res.data.dischargeinfo.fCement2warninginfo, //水泥2
                aggregate1: res.data.dischargeinfo.fAggregate1warninginfo, //骨料1
                aggregate2: res.data.dischargeinfo.fAggregate2warninginfo, //骨料2
                aggregate3: res.data.dischargeinfo.fAggregate3warninginfo, //骨料3
                aggregate4: res.data.dischargeinfo.fAggregate4warninginfo, //骨料4
                aggregate5: res.data.dischargeinfo.fAggregate5warninginfo, //骨料5
                aggregate6: res.data.dischargeinfo.fAggregate6warninginfo, //骨料5
                water: res.data.dischargeinfo.fWaterwarninginfo, //水
              },
            ];
            this.level = [
              "",
              res.data.dischargeinfo.fCement1warninglevel,
              res.data.dischargeinfo.fCement2warninglevel,
              res.data.dischargeinfo.fAggregate1warninglevel,
              res.data.dischargeinfo.fAggregate2warninglevel,
              res.data.dischargeinfo.fAggregate3warninglevel,
              res.data.dischargeinfo.fAggregate4warninglevel,
              res.data.dischargeinfo.fAggregate5warninglevel,
              res.data.dischargeinfo.fAggregate6warninglevel,
              res.data.dischargeinfo.fWaterwarninglevel,
            ];
            this.earlyWarning = [
              "",
              res.data.dischargeinfo.fCement1warninginfo,
              res.data.dischargeinfo.fCement2warninginfo,
              res.data.dischargeinfo.fAggregate1warninginfo,
              res.data.dischargeinfo.fAggregate2warninginfo,
              res.data.dischargeinfo.fAggregate3warninginfo,
              res.data.dischargeinfo.fAggregate4warninginfo,
              res.data.dischargeinfo.fAggregate5warninginfo,
              res.data.dischargeinfo.fAggregate6warninginfo,
              res.data.dischargeinfo.fWaterwarninginfo,
            ];
          } else {
            this.$message.error("详情报错", res.msg);
            //  this.dialogEditVisible = false;
          }
        });
      } else {
        return this.$message.error("请先选择需要查看的数据");
      }
    },
    // 保存接口
    yj_saveForm() {
      this.handleData.fCompanyid = this.getList.fCompanyid; // 施工标段id
      if (this.checkStatus == 0) {
        //闭合申请单
        if (this.$refs.publicForm0.submitForm()) {
          this.saveForm(this.handleData);
        } else {
          console.log("error");
        }
      } else if (this.checkStatus == 1) {
        if (this.$refs.publicForm1.submitForm()) {
          this.saveForm(this.handleData);
        } else {
          console.log("error");
        }
      } else if (this.checkStatus == 2) {
        if (this.$refs.publicForm2.submitForm()) {
          this.saveForm(this.handleData);
        } else {
          console.log("error");
        }
      }
    },
    // 保存接口
    saveForm(data) {
      console.log("保存参数", data);
      addWaterClosedForm(data)
        .then((res) => {
          if (res.errcode == 0) {
            this.yj_searchForm(this.getList);
            this.dialogEditVisible = false;
            this.$message.success("新增成功");
          } else {
            this.$message.error(res.msg);
            console.log("接口报错");
          }
        })
        .catch((error) => {
          console.log("拌合站设置-新增）", error);
        });
    },
    // 获取拌合站数据
    mixingPlantList(num, datas) {
      var data = {
        companyId: datas.fCompanyid, // 施工标段id
        modelType: num, // 类型
        stationType: "2", // 拌合站类型
      };

      this.bhzDataList = [];

      getStationmachineList(data)
        .then((res) => {
          if (res.errcode == 0) {
            var arr = res.data.stationmachineList;

            if (num == 0) {
              this.bhzDataList = [
                {
                  fItemName: "所有拌和站",
                  fItemValue: "",
                },
              ];
              arr.map((item) => {
                this.bhzDataList.push({
                  fItemName: item.fMachinename,
                  fItemValue: item.fMachineid,
                });
              });
            }
          } else {
            this.$message.error(res.msg);
            return false;
          }
        })
        .catch((error) => {
          console.log(error);
        });
    },

    // 拌合站选择
    selectBhz(e) {
      this.getList.machineId = "";
      this.getbhjDataMethods(e);
    },
    // 获取拌合机
    getbhjDataMethods(data) {
      getMachineListByStationId({ stationId: data })
        .then((res) => {
          if (res.errcode == 0) {
            var arr = res.data.stationmachineList;

            this.bhjDataList = [
              {
                fItemName: "所有拌和机",
                fItemValue: "",
              },
            ];
            arr.map((item) => {
              this.bhjDataList.push({
                fItemName: item.fMachinename,
                fItemValue: item.fMachineid,
              });
            });
          } else {
            this.$message.error(res.msg);
            return false;
          }
        })
        .catch((error) => {
          console.log(error);
        });
    },

    delteFile(file) {
      for (let index = 0; index < this.fSourcefileList.length; index++) {
        if (file.uid == this.fSourcefileList[index].uid) {
          if (this.fSourcefileList[index].atta == undefined) {
            this.handleData.recordfiles.push({
              fId: this.fSourcefileList[index].fId,
            });
          } else {
            this.handleData.recordfiles.push({
              fId: this.fSourcefileList[index].atta.fId,
            });
          }
          this.fSourcefileList.splice(index, 1);
        }
      }
    },
    // 折叠面板
    changeCollapse(e) {
      console.log(this.activeNames, e);
    },
    selectTime(e) {
      if (e[0] != "" && e[1] != "") {
        this.getList.startDates = e[0] + " " + "00:00:00"; // 开始时间
        this.getList.endDates = e[1] + " " + "23:59:59"; // 截至时间
      } else {
        this.getList.startDates = ""; // 开始时间
        this.getList.endDates = ""; // 截至时间
      }
      this.yj_searchForm(this.getList);
    },

    getDate() {
      if (JSON.parse(sessionStorage.getItem("yjSmart-waterManage_getLists"))) {
        var dataList = JSON.parse(
          sessionStorage.getItem("yjSmart-waterManage_getLists")
        );
        this.getList = {
          fCompanyid: dataList.fCompanyid, // 施工标段id，不为空
          startDates: dataList.startDates, // 开始时间
          endDates: dataList.endDates, // 截至时间
          stationId: dataList.stationId, // 拌合站id
          machineId: dataList.machineId, // 拌合机id
          buildPart: dataList.buildPart, // 施工部位
          page: 1, // 当前页数
          pageSize: 20, // 每页显示条数
          warningLevel: dataList.warningLevel, // 预警等级
          fCloseoperation: dataList.fCloseoperation, //闭合状态
          // modelType: "", // 待办0 已办1  app
          fCheckStatus: dataList.fCheckStatus, // 0 施工单位  1 监理  2业主 app
        };
        this.value2 = [this.getList.startDates, this.getList.endDates];
        this.xlsxName =
          this.getList.startDates +
          "至" +
          this.getList.endDates +
          "混凝土拌和站记录数据";
      } else {
        this.getList.startDates = this.common.getDay(-6) + " " + "00:00:00"; // 开始时间

        this.getList.endDates = this.common.getDay(0) + " " + "23:59:59"; // 截至时间
        this.value2 = [
          this.common.getDay(-6) + " " + "00:00:00",
          this.common.getDay(0) + " " + "23:59:59",
        ];
        this.xlsxName =
          this.common.getDay(-6) +
          "至" +
          this.common.getDay(0) +
          " " +
          "23:59:59" +
          "混凝土拌和站记录数据";
      }
    },

    selectionChange() {},
    // 排序方法
    sortChange() {},
  },
};
</script>
  
<style scoped lang="less">
.printTables {
  background: #fff;
  display: flex;
  justify-content: end;
  padding: 5px;
  margin-top: 10px;
}

.dialogBody {
  padding: 3px 20px;
  height: 80%;
  // overflow-y: auto;
  display: flex;
  flex-direction: column;

  .jpbox {
    height: 100%;
  }

  .dialogBody {
    position: relative;
  }

  .tab {
    display: flex;
    font-size: 14px;
    height: 30px;
    line-height: 30px;
    box-sizing: border-box;
    border-bottom: 2px solid #e4e7ed;
    padding: 0 0.16rem;

    .btn {
      margin-top: 4px;
      margin-right: 16px;
      width: 102px;
      height: 24px;
      display: flex;
      justify-content: center;
      align-items: center;
      border-top-right-radius: 4px;
      border-top-left-radius: 4px;
    }
  }

  .charts {
    // height: calc(100% - 30px);
    height: 620px;
  }
}

.baseTitle {
  /* border: 1px solid #0c204d; */
  border-bottom: 1px solid #0c204d;

  height: 30px;
  line-height: 30px;
  position: relative;
  padding-left: 15px;
}

.baseTitle::after {
  display: block;
  content: "";
  height: 30px;
  width: 5px;
  position: absolute;
  left: 0;
  top: 0;
  background: #0c204d;
}

.materialClass /deep/.el-table tr:nth-child(5) {
  display: none;
}

.jipeiBox {
  display: flex;
  flex: 1;

  .left {
    width: 60%;
    margin-right: 15px;
    display: flex;
    flex-direction: column;

    .errorMonitoring {
      flex: 1;
    }
  }

  .right {
    width: 40%;

    display: flex;
    flex-direction: column;

    .errorMonitoring {
      flex: 1;
      box-sizing: border-box;
      display: flex;
      justify-content: center;
      align-items: center;

      .tableWaring {
        width: 90%;
        height: 85%;
        margin: 15px;
        box-sizing: border-box;

        display: flex;
        flex-direction: column;
        align-content: space-around;
        border: 1px solid #ebeef5;
        border-bottom: none;

        .line {
          flex: 1;
          display: flex;
          line-height: 20px;
          // height: 25px;
          // line-height: 25px;
          border-bottom: 1px solid #ebeef5;

          .tableName {
            width: 40%;
            display: flex;
            justify-content: center;
            align-items: center;
            border-right: 1px solid #ebeef5;
          }

          .tableData {
            width: 55%;
            padding-left: 8px;
          }
        }

        .line:nth-child(2n) {
          background: #dbe7f5;
          color: #4f6375;
        }
      }
    }
  }
}
</style>